home *** CD-ROM | disk | FTP | other *** search
- float bpluck(xin,q)
- float xin,*q;
- {
- float temp;
- int ip;
- q[0]++;
- if(*q <= q[1]) ip = *q;
- else {
- *q = ip = 20;
- q[ip] = q[11]; /* reseed for bowed effect */
- }
- q[7] = (1.-q[8]) * q[ip] + q[8] * q[7];
- temp = q[9] * (q[2] * q[ip] + q[3] * q[6]);
- q[6] = q[ip];
- q[ip] = q[10] * temp + q[4] - q[10] * q[5];
- q[5] = q[ip] = xin + q[ip];
- q[4] = temp;
- return(q[7]);
- }
-